Telegram Group & Telegram Channel
ООП (неочевидные плюсы)

По следам последнего видео. У ООПшных языков, есть одна киллер фича и одно удобство, которые редко встречаются в других местах. Сейчас будет шок 🙂

Если у вас структура вызова сущность.метод, вы получаете автокомплит. Если у вас вызов функция(данные), то хрен вам, а не автокомплит. Как вам такое? Является ли это фишкой ооп? Вообще-то нет, да так совпало что в ооп это повсеместно, но это всего лишь вопрос синтаксиса языка. Зацените пример на go:


type User struct {
Name string
}

func (u *User) Greet() {
fmt.Println("Hello,", u.Name)
}

func main() {
user := &User{Name: "Kirill"}
user.Greet() // автокомплит: .Greet
}


И на nim


type User = object
name: string

proc greet(u: User) {.method.} =
echo "Hello, ", u.name

let user = User(name: "Kirill")
user.greet() # автокомплит есть


и rust через трейты:


struct User {
name: String,
}

// trait описан отдельно от User
trait Greet {
fn greet(&self);
}

impl Greet for User {
fn greet(&self) {
println!("Hello, {}", self.name);
}
}

fn main() {
let user = User { name: "Kirill".to_string() };
user.greet(); // автокомплит срабатывает!
}


Ну и аналог (хотя и через классы) это экстеншены в Swift, Kotlin и C#

Кстати это довольно интересно, многие ассоцириуют синтаксис сущность.метод() только с ООП, но как вы видите, это вообще не так.

p.s. А как вы думаете, какая вторая деталь, про которую я упомянул в начале поста ? 🙂

Ссылки: Телеграм | Youtube | VK



tg-me.com/orgprog/329
Create:
Last Update:

ООП (неочевидные плюсы)

По следам последнего видео. У ООПшных языков, есть одна киллер фича и одно удобство, которые редко встречаются в других местах. Сейчас будет шок 🙂

Если у вас структура вызова сущность.метод, вы получаете автокомплит. Если у вас вызов функция(данные), то хрен вам, а не автокомплит. Как вам такое? Является ли это фишкой ооп? Вообще-то нет, да так совпало что в ооп это повсеместно, но это всего лишь вопрос синтаксиса языка. Зацените пример на go:


type User struct {
Name string
}

func (u *User) Greet() {
fmt.Println("Hello,", u.Name)
}

func main() {
user := &User{Name: "Kirill"}
user.Greet() // автокомплит: .Greet
}


И на nim


type User = object
name: string

proc greet(u: User) {.method.} =
echo "Hello, ", u.name

let user = User(name: "Kirill")
user.greet() # автокомплит есть


и rust через трейты:


struct User {
name: String,
}

// trait описан отдельно от User
trait Greet {
fn greet(&self);
}

impl Greet for User {
fn greet(&self) {
println!("Hello, {}", self.name);
}
}

fn main() {
let user = User { name: "Kirill".to_string() };
user.greet(); // автокомплит срабатывает!
}


Ну и аналог (хотя и через классы) это экстеншены в Swift, Kotlin и C#

Кстати это довольно интересно, многие ассоцириуют синтаксис сущность.метод() только с ООП, но как вы видите, это вообще не так.

p.s. А как вы думаете, какая вторая деталь, про которую я упомянул в начале поста ? 🙂

Ссылки: Телеграм | Youtube | VK

BY Организованное программирование | Кирилл Мокевнин




Share with your friend now:
tg-me.com/orgprog/329

View MORE
Open in Telegram


Организованное программирование | Кирилл Мокевнин Telegram | DID YOU KNOW?

Date: |

Among the actives, Ascendas REIT sank 0.64 percent, while CapitaLand Integrated Commercial Trust plummeted 1.42 percent, City Developments plunged 1.12 percent, Dairy Farm International tumbled 0.86 percent, DBS Group skidded 0.68 percent, Genting Singapore retreated 0.67 percent, Hongkong Land climbed 1.30 percent, Mapletree Commercial Trust lost 0.47 percent, Mapletree Logistics Trust tanked 0.95 percent, Oversea-Chinese Banking Corporation dropped 0.61 percent, SATS rose 0.24 percent, SembCorp Industries shed 0.54 percent, Singapore Airlines surrendered 0.79 percent, Singapore Exchange slid 0.30 percent, Singapore Press Holdings declined 1.03 percent, Singapore Technologies Engineering dipped 0.26 percent, SingTel advanced 0.81 percent, United Overseas Bank fell 0.39 percent, Wilmar International eased 0.24 percent, Yangzijiang Shipbuilding jumped 1.42 percent and Keppel Corp, Thai Beverage, CapitaLand and Comfort DelGro were unchanged.

Telegram announces Search Filters

With the help of the Search Filters option, users can now filter search results by type. They can do that by using the new tabs: Media, Links, Files and others. Searches can be done based on the particular time period like by typing in the date or even “Yesterday”. If users type in the name of a person, group, channel or bot, an extra filter will be applied to the searches.

Организованное программирование | Кирилл Мокевнин from sa


Telegram Организованное программирование | Кирилл Мокевнин
FROM USA